package Classes;
import java.awt.geom.Line2D;
import java.awt.geom.Point2D;
import java.io.Serializable;

import estados.arestas.* ;
import estados.interfaces.* ;


public class ArestaGUI implements Serializable {	
	private boolean estaSelecionada ;
	
	private Aresta refAresta ;				//referencia para a aresta que ArestaGUI desenha
	
	private EstadoAresta estadoDaPinturaAtual ;
	
	public EstadoAresta getEstadoDaPinturaAtual() {
		return this.estadoDaPinturaAtual ;
	}
	
	public void setEstadoDaPinturaAtual(EstadoAresta estadoDaPinturaAtual) {
		this.estadoDaPinturaAtual = estadoDaPinturaAtual ;
	}
	
	public ArestaGUI(Aresta refAresta) {
		this.refAresta = refAresta ;
		EstadoAresta novoEstado = new EstadoArestaEdicaoSemAnimacao() ;
		novoEstado.setAresta(refAresta) ;
		this.setEstadoDaPinturaAtual(novoEstado) ;
	}
	
	public static Line2D getLinhaAresta() {
		return Linha2DSingleton.getInstance() ;
	}
	
	public static void setLinhaAresta(Point2D p1, Point2D p2) {
		Linha2DSingleton.getInstance().setLine(p1,p2) ;
	}

	public Point2D getPontoV1() {
		return this.refAresta.getV1().getVerticeGrafico().getCentro() ;
	}
	
	public Point2D getPontoV2() {
		return this.refAresta.getV2().getVerticeGrafico().getCentro() ;
	}
	
	public boolean estaSelecionada() {
		return this.estaSelecionada ;
	}

	public void setSelecao (boolean selecao) {
		this.estaSelecionada = selecao ;
	}

}
